package com.carcloud.gateway.api

object PushApiV1Grpc {
  val METHOD_REGISTER_PUSH_ALARM: _root_.io.grpc.MethodDescriptor[com.carcloud.gateway.bean.api.PushAlarmRequest, com.carcloud.gateway.bean.alarm.AlarmInfo] =
    _root_.io.grpc.MethodDescriptor.create(
      _root_.io.grpc.MethodDescriptor.MethodType.BIDI_STREAMING,
      _root_.io.grpc.MethodDescriptor.generateFullMethodName("CarCloud.Gateway.PushApiV1", "registerPushAlarm"),
      new com.trueaccord.scalapb.grpc.Marshaller(com.carcloud.gateway.bean.api.PushAlarmRequest),
      new com.trueaccord.scalapb.grpc.Marshaller(com.carcloud.gateway.bean.alarm.AlarmInfo))
  
  val METHOD_REGISTER_PUSH_EVENT: _root_.io.grpc.MethodDescriptor[com.carcloud.gateway.bean.api.PushEventRequest, com.carcloud.gateway.bean.event.EventInfo] =
    _root_.io.grpc.MethodDescriptor.create(
      _root_.io.grpc.MethodDescriptor.MethodType.BIDI_STREAMING,
      _root_.io.grpc.MethodDescriptor.generateFullMethodName("CarCloud.Gateway.PushApiV1", "registerPushEvent"),
      new com.trueaccord.scalapb.grpc.Marshaller(com.carcloud.gateway.bean.api.PushEventRequest),
      new com.trueaccord.scalapb.grpc.Marshaller(com.carcloud.gateway.bean.event.EventInfo))
  
  val METHOD_REGISTER_PUSH_DATA: _root_.io.grpc.MethodDescriptor[com.carcloud.gateway.bean.api.PushDataRequest, com.carcloud.gateway.bean.data.DataInfo] =
    _root_.io.grpc.MethodDescriptor.create(
      _root_.io.grpc.MethodDescriptor.MethodType.BIDI_STREAMING,
      _root_.io.grpc.MethodDescriptor.generateFullMethodName("CarCloud.Gateway.PushApiV1", "registerPushData"),
      new com.trueaccord.scalapb.grpc.Marshaller(com.carcloud.gateway.bean.api.PushDataRequest),
      new com.trueaccord.scalapb.grpc.Marshaller(com.carcloud.gateway.bean.data.DataInfo))
  
  val METHOD_REGISTER_PUSH_DATA_BY_AREA: _root_.io.grpc.MethodDescriptor[com.carcloud.gateway.bean.api.PushDataByAreaRequest, com.carcloud.gateway.bean.data.DataInfo] =
    _root_.io.grpc.MethodDescriptor.create(
      _root_.io.grpc.MethodDescriptor.MethodType.BIDI_STREAMING,
      _root_.io.grpc.MethodDescriptor.generateFullMethodName("CarCloud.Gateway.PushApiV1", "registerPushDataByArea"),
      new com.trueaccord.scalapb.grpc.Marshaller(com.carcloud.gateway.bean.api.PushDataByAreaRequest),
      new com.trueaccord.scalapb.grpc.Marshaller(com.carcloud.gateway.bean.data.DataInfo))
  
  trait PushApiV1 extends _root_.com.trueaccord.scalapb.grpc.AbstractService {
    override def serviceCompanion = PushApiV1
    def registerPushAlarm(responseObserver: _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.alarm.AlarmInfo]): _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.api.PushAlarmRequest]
    def registerPushEvent(responseObserver: _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.event.EventInfo]): _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.api.PushEventRequest]
    def registerPushData(responseObserver: _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.data.DataInfo]): _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.api.PushDataRequest]
    def registerPushDataByArea(responseObserver: _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.data.DataInfo]): _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.api.PushDataByAreaRequest]
  }
  
  object PushApiV1 extends _root_.com.trueaccord.scalapb.grpc.ServiceCompanion[PushApiV1] {
    implicit def serviceCompanion: _root_.com.trueaccord.scalapb.grpc.ServiceCompanion[PushApiV1] = this
    def javaDescriptor: _root_.com.google.protobuf.Descriptors.ServiceDescriptor = com.carcloud.gateway.api.AccessApiV1Proto.javaDescriptor.getServices().get(2)
  }
  
  trait PushApiV1BlockingClient {
    def serviceCompanion = PushApiV1
  }
  
  class PushApiV1BlockingStub(channel: _root_.io.grpc.Channel, options: _root_.io.grpc.CallOptions = _root_.io.grpc.CallOptions.DEFAULT) extends _root_.io.grpc.stub.AbstractStub[PushApiV1BlockingStub](channel, options) with PushApiV1BlockingClient {
    override def build(channel: _root_.io.grpc.Channel, options: _root_.io.grpc.CallOptions): PushApiV1BlockingStub = new PushApiV1BlockingStub(channel, options)
  }
  
  class PushApiV1Stub(channel: _root_.io.grpc.Channel, options: _root_.io.grpc.CallOptions = _root_.io.grpc.CallOptions.DEFAULT) extends _root_.io.grpc.stub.AbstractStub[PushApiV1Stub](channel, options) with PushApiV1 {
    override def registerPushAlarm(responseObserver: _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.alarm.AlarmInfo]): _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.api.PushAlarmRequest] = {
      _root_.io.grpc.stub.ClientCalls.asyncBidiStreamingCall(channel.newCall(METHOD_REGISTER_PUSH_ALARM, options), responseObserver)
    }
    
    override def registerPushEvent(responseObserver: _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.event.EventInfo]): _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.api.PushEventRequest] = {
      _root_.io.grpc.stub.ClientCalls.asyncBidiStreamingCall(channel.newCall(METHOD_REGISTER_PUSH_EVENT, options), responseObserver)
    }
    
    override def registerPushData(responseObserver: _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.data.DataInfo]): _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.api.PushDataRequest] = {
      _root_.io.grpc.stub.ClientCalls.asyncBidiStreamingCall(channel.newCall(METHOD_REGISTER_PUSH_DATA, options), responseObserver)
    }
    
    override def registerPushDataByArea(responseObserver: _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.data.DataInfo]): _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.api.PushDataByAreaRequest] = {
      _root_.io.grpc.stub.ClientCalls.asyncBidiStreamingCall(channel.newCall(METHOD_REGISTER_PUSH_DATA_BY_AREA, options), responseObserver)
    }
    
    override def build(channel: _root_.io.grpc.Channel, options: _root_.io.grpc.CallOptions): PushApiV1Stub = new PushApiV1Stub(channel, options)
  }
  
  def bindService(serviceImpl: PushApiV1, executionContext: scala.concurrent.ExecutionContext): _root_.io.grpc.ServerServiceDefinition =
    _root_.io.grpc.ServerServiceDefinition.builder("CarCloud.Gateway.PushApiV1")
    .addMethod(
      METHOD_REGISTER_PUSH_ALARM,
      _root_.io.grpc.stub.ServerCalls.asyncBidiStreamingCall(new _root_.io.grpc.stub.ServerCalls.BidiStreamingMethod[com.carcloud.gateway.bean.api.PushAlarmRequest, com.carcloud.gateway.bean.alarm.AlarmInfo] {
        override def invoke(observer: _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.alarm.AlarmInfo]): _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.api.PushAlarmRequest] =
          serviceImpl.registerPushAlarm(observer)
      }))
    .addMethod(
      METHOD_REGISTER_PUSH_EVENT,
      _root_.io.grpc.stub.ServerCalls.asyncBidiStreamingCall(new _root_.io.grpc.stub.ServerCalls.BidiStreamingMethod[com.carcloud.gateway.bean.api.PushEventRequest, com.carcloud.gateway.bean.event.EventInfo] {
        override def invoke(observer: _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.event.EventInfo]): _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.api.PushEventRequest] =
          serviceImpl.registerPushEvent(observer)
      }))
    .addMethod(
      METHOD_REGISTER_PUSH_DATA,
      _root_.io.grpc.stub.ServerCalls.asyncBidiStreamingCall(new _root_.io.grpc.stub.ServerCalls.BidiStreamingMethod[com.carcloud.gateway.bean.api.PushDataRequest, com.carcloud.gateway.bean.data.DataInfo] {
        override def invoke(observer: _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.data.DataInfo]): _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.api.PushDataRequest] =
          serviceImpl.registerPushData(observer)
      }))
    .addMethod(
      METHOD_REGISTER_PUSH_DATA_BY_AREA,
      _root_.io.grpc.stub.ServerCalls.asyncBidiStreamingCall(new _root_.io.grpc.stub.ServerCalls.BidiStreamingMethod[com.carcloud.gateway.bean.api.PushDataByAreaRequest, com.carcloud.gateway.bean.data.DataInfo] {
        override def invoke(observer: _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.data.DataInfo]): _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.api.PushDataByAreaRequest] =
          serviceImpl.registerPushDataByArea(observer)
      }))
    .build()
  
  def blockingStub(channel: _root_.io.grpc.Channel): PushApiV1BlockingStub = new PushApiV1BlockingStub(channel)
  
  def stub(channel: _root_.io.grpc.Channel): PushApiV1Stub = new PushApiV1Stub(channel)
  
  def javaDescriptor: _root_.com.google.protobuf.Descriptors.ServiceDescriptor = com.carcloud.gateway.api.AccessApiV1Proto.javaDescriptor.getServices().get(2)
  
}